from typing import Any

from semanticscholar.ApiRequester import ApiRequester as ApiRequester

class PaginatedResults:
    def __init__(
        self,
        requester: ApiRequester,
        data_type: Any,
        url: str,
        query: str = None,
        fields: str = None,
        limit: int = None,
        headers: dict = None,
        max_results: int = 10000,
    ) -> None: ...
    @classmethod
    async def create(cls, *args, **kwargs): ...
    @property
    def total(self) -> int: ...
    @property
    def offset(self) -> int: ...
    @property
    def next(self) -> int: ...
    @property
    def items(self) -> list: ...
    @property
    def raw_data(self) -> list[dict]: ...
    def __iter__(self) -> Any: ...
    def __len__(self) -> int: ...
    def __getitem__(self, key: int) -> Any: ...
    def next_page(self) -> None: ...
    def _has_next_page(self) -> bool: ...
    async def _async_get_next_page(self) -> list: ...
    def _update_params(self, results: dict | list[dict]) -> list: ...

    _continuation_token: str
    _data_type: Any
    _items: list
    _limit: int
    _query: str
    _fields: str
    _requester: ApiRequester
    _url: str
    _headers: dict
